﻿// ConsoleApplication3.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//统计数字：
//1.个位==万位，且个位*万位==完全平方数；
//2.百位+千位 == 素数，abs（百位-千位）%3 == 0；
//3.sum(位数）%13 == 0，n%3 == 0

#include<iostream>
#include<cmath>
using namespace std;

int a, b, c;

bool prime(int n)
{
	for (int i = 2; i < sqrt(n); i++)
	{
		if (n%i == 0)
		{
			return false;
		}
	}
	return true;
}

bool condA(int n)
{
	int a, b, c, d, e, f;
	a = n % 10;
	b = (n / 10) % 10;
	c = (n / 100) % 10;
	d = (n / 1000) % 10;
	e = (n / 10000) % 10;
	f = (n / 100000);
	return(b == f);
}

bool condB(int n)
{
	int a, b, c, d, e, f;
	a = n % 10;
	b = (n / 10) % 10;
	c = (n / 100) % 10;
	d = (n / 1000) % 10;
	e = (n / 10000) % 10;
	f = (n / 100000);
	return(prime(d + c) && (abs(d + c) % 3 == 0));
}

bool condC(int n)
{
	int a, b, c, d, e, f;
	a = n % 10;
	b = (n / 10) % 10;
	c = (n / 100) % 10;
	d = (n / 1000) % 10;
	e = (n / 10000) % 10;
	f = (n / 100000);
	int sum = a + b + c + d + e + f;
	return(sum % 13 == 0 && n % 13 == 0);
}

void sort()
{
	for (int i = 100000; i < 1000000; i++)
	{
		if (condA(i))
		{
			a++;
		}
		if (condB(i))
		{
			b++;
		}
		if (condC(i))
		{
			c++;
		}
	}
}
int main()
{
	sort();
	cout << a << "\t" << b << "\t" << c;
}